package com.gimi.cloud.jimi.dto.prod;

import com.gimi.cloud.jimi.dto.base.BaseDTO;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.util.List;


/**
 * @auther loongs
 * @date 2017/12/18  15:26
 */
public class ProdCatModelDTO extends BaseDTO{

    private static final long serialVersionUID = 1L;

    /**
     * 品类模板id
     */
    private Long modelId;


    /**
     * 三级品类ID
     */
    @NotBlank(message = "三级品类ID不能为空", groups = {ThreeProdCatModel.class})
    private String prodCatId;

    /**
     * 属性名称
     */
    private String prodPropName;

    /**
     * 序号
     */
    private Integer seq;

    /**
     *  逻辑删除,'1:可用 0：不可用'
     */
    private Integer isDel;
    /**
     * 三级品类名
     */
    private String prodCatName;
    /**
     * 该模板下的所有属性值，用逗号隔开
     */
    private String allModelValue;


    /**
     * 品类模板属性值id
     */
    private Long cmId;

    /**
     * 模板属性值
     */
    private String modelValue;

    /**
     * 图片'1:有图片 0:没有图片'
     */
    private Integer isImg;

    /**
     * 页容量
     */
    @NotNull(message = "页容量不能为空", groups = {ThreeProdCatModel.class})
    private Integer pageSize;
    /**
     * 当前页
     */
    @NotNull(message = "当前页不能为空", groups = {ThreeProdCatModel.class})
    private Integer currentPage;
    /**
     * 对应的模版属性值
     */
    List<EcProdCatModelValueDTO> prodCatModelValue;

    /***********************************其他传输字段**************************************************/

    /**
     * 品牌名称
     */
    private String prodBrandName;


    public interface ThreeProdCatModel {

    }

    public List<EcProdCatModelValueDTO> getProdCatModelValue() {
        return prodCatModelValue;
    }

    public void setProdCatModelValue(List<EcProdCatModelValueDTO> prodCatModelValue) {
        this.prodCatModelValue = prodCatModelValue;
    }

    public String getProdBrandName() {
        return prodBrandName;
    }

    public void setProdBrandName(String prodBrandName) {
        this.prodBrandName = prodBrandName;
    }

    public String getAllModelValue() {
        return allModelValue;
    }

    public void setAllModelValue(String allModelValue) {
        this.allModelValue = allModelValue;
    }

    public String getProdCatName() {
        return prodCatName;
    }

    public void setProdCatName(String prodCatName) {
        this.prodCatName = prodCatName;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Integer getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(Integer currentPage) {
        this.currentPage = currentPage;
    }

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public String getProdCatId() {
        return prodCatId;
    }

    public void setProdCatId(String prodCatId) {
        this.prodCatId = prodCatId;
    }

    public String getProdPropName() {
        return prodPropName;
    }

    public void setProdPropName(String prodPropName) {
        this.prodPropName = prodPropName;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public Long getCmId() {
        return cmId;
    }

    public void setCmId(Long cmId) {
        this.cmId = cmId;
    }

    public String getModelValue() {
        return modelValue;
    }

    public void setModelValue(String modelValue) {
        this.modelValue = modelValue;
    }

    public Integer getIsImg() {
        return isImg;
    }

    public void setIsImg(Integer isImg) {
        this.isImg = isImg;
    }

    @Override
    public String toString() {
        return "ProdCatModelDTO{" +
                "modelId=" + modelId +
                ", prodCatId='" + prodCatId + '\'' +
                ", prodPropName='" + prodPropName + '\'' +
                ", seq=" + seq +
                ", isDel=" + isDel +
                ", prodCatName='" + prodCatName + '\'' +
                ", pageSize=" + pageSize +
                ", currentPage=" + currentPage +
                '}';
    }
}
